package com.yanggu.scala.chapater17.designpattern.singleton

object TestSingleTonDemo02 {

  def main(args: Array[String]): Unit = {
    val instance1 = SingleTon2.getInstance
    val instance2 = SingleTon2.getInstance
    if (instance1 == instance2) {
      println("相等。。。")
    }
  }

}

//私有化构造方法
class SingleTon2 private() {
  println("单例对象被初始化了。。。")
}

/**
 * 懒汉式加载对象
 */
object SingleTon2 {

  /**
   * 私有化成员变量
   * 饿汉式, 直接初始化即可
   */
  private val s: SingleTon2 = new SingleTon2

  /**
   * 提供获取单例对象的方法
   *
   * @return
   */
  def getInstance = s

}
